package com.hlf.modules.sys.mapper;

import com.hlf.modules.base.mapper.BaseMapper;
import com.hlf.modules.sys.entity.File;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;



/**
 * 文件数据持久层接口
 * 
 * 
 * @author shuliangxing
 * 
 * @date 2015-11-2下午4:16:34
 */
@Mapper
public interface FileMapper extends BaseMapper<File> {

    /**
     * 根据id删除
     *
     * @param filId
     * @return
     */
    int deleteByPrimaryKey(Long filId);

    /**
     * 新增
     *
     * @param record
     * @return
     */
    int insert(File record);

    /**
     * 非空字段新增
     *
     * @param record
     * @return
     */
    int insertSelective(File record);

    /**
     * 根据id查询
     *
     * @param filId
     * @return
     */
    File selectByPrimaryKey(Long filId);

    /**
     * 根据id更新非空字段
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(File record);

    /**
     * 根据id更新
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(File record);

    // 分割线

    /**
     * 根据条件查询
     *
     * @param record
     * @return
     */
    List<File> selectRelation(File record);

    /**
     * 根据文件对应外键id删除
     *
     * @param foreignId
     * @return
     */
    int deleteByForeignId(Long foreignId);

    /**
     * 批量新增
     *
     * @param list
     * @return
     */
    int inserts(List<File> list);
    int deleteByForeignIdAndFilType(@Param(value = "foreignId") Long foreignId, @Param(value = "filType") String filType);

    int updateByForeignIdAndFilTypeSelective(File record);

    /**
     * 图片集
     * @param foreignId
     * @return
     */
    List<File> selectByForeignId(@Param("foreignId") Long foreignId);
}